package com.wang.spring;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Service;

//添加@Component，表明这也是一个自动扫描组件,spring容器帮助创建bean
//@Component – 指示自动扫描组件。(等效于 @Repository @Service @Controller)
//@Repository – 表示在持久层DAO组件。
//@Service – 表示在业务层服务组件。
//@Controller – 表示在表示层控制器组件。

@Service("serviceImpl")
public class ServiceImpl {

	//@Autowired 自动装配 bean，它可以在 setter 方法，构造函数或字段中使用。默认是按照类型装配
	//@Qualifier("daoImpl"),选择特定的bean名字装配，和@Autowire一起使用，
	@Autowired(required=false)
	@Qualifier("daoImpl")
	DaoImpl dao;
	public void setDao(DaoImpl dao) {
		this.dao = dao;
	}
	
			
	@Override
	public String toString() {
		return "hello I am a service";
	}
	
	
	public void sayHello(){
		System.out.println("hello !");				
	}
	
	public String getServiceMsg(){			
		return "I am a servcie mgs";
	}
	
	public String getDaoMsg(){	
		try{
//			Integer.valueOf("");	
		}catch(Exception e){
			throw e;
		}
		
		return dao.getMsg();
	}
}

